// default package
// Generated 28 Jul, 2014 8:04:07 PM by Hibernate Tools 3.4.0.CR1
package com.galaxy.bean;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * EavEntity generated by hbm2java
 */
@Entity
@Table(name = "eav_entity", catalog = "magento")
public class EavEntity implements java.io.Serializable {

	private Integer entityId;
	private EavEntityType eavEntityType;
	private CoreStore coreStore;
	private short attributeSetId;
	private String incrementId;
	private int parentId;
	private Date createdAt;
	private Date updatedAt;
	private short isActive;
	private Set eavEntityDatetimes = new HashSet(0);
	private Set eavEntityInts = new HashSet(0);
	private Set eavEntityVarchars = new HashSet(0);
	private Set eavEntityTexts = new HashSet(0);
	private Set eavEntityDecimals = new HashSet(0);

	public EavEntity() {
	}

	public EavEntity(EavEntityType eavEntityType, CoreStore coreStore,
			short attributeSetId, String incrementId, int parentId,
			Date createdAt, Date updatedAt, short isActive) {
		this.eavEntityType = eavEntityType;
		this.coreStore = coreStore;
		this.attributeSetId = attributeSetId;
		this.incrementId = incrementId;
		this.parentId = parentId;
		this.createdAt = createdAt;
		this.updatedAt = updatedAt;
		this.isActive = isActive;
	}

	public EavEntity(EavEntityType eavEntityType, CoreStore coreStore,
			short attributeSetId, String incrementId, int parentId,
			Date createdAt, Date updatedAt, short isActive,
			Set eavEntityDatetimes, Set eavEntityInts, Set eavEntityVarchars,
			Set eavEntityTexts, Set eavEntityDecimals) {
		this.eavEntityType = eavEntityType;
		this.coreStore = coreStore;
		this.attributeSetId = attributeSetId;
		this.incrementId = incrementId;
		this.parentId = parentId;
		this.createdAt = createdAt;
		this.updatedAt = updatedAt;
		this.isActive = isActive;
		this.eavEntityDatetimes = eavEntityDatetimes;
		this.eavEntityInts = eavEntityInts;
		this.eavEntityVarchars = eavEntityVarchars;
		this.eavEntityTexts = eavEntityTexts;
		this.eavEntityDecimals = eavEntityDecimals;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "entity_id", unique = true, nullable = false)
	public Integer getEntityId() {
		return this.entityId;
	}

	public void setEntityId(Integer entityId) {
		this.entityId = entityId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "entity_type_id", nullable = false)
	public EavEntityType getEavEntityType() {
		return this.eavEntityType;
	}

	public void setEavEntityType(EavEntityType eavEntityType) {
		this.eavEntityType = eavEntityType;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "store_id", nullable = false)
	public CoreStore getCoreStore() {
		return this.coreStore;
	}

	public void setCoreStore(CoreStore coreStore) {
		this.coreStore = coreStore;
	}

	@Column(name = "attribute_set_id", nullable = false)
	public short getAttributeSetId() {
		return this.attributeSetId;
	}

	public void setAttributeSetId(short attributeSetId) {
		this.attributeSetId = attributeSetId;
	}

	@Column(name = "increment_id", nullable = false, length = 50)
	public String getIncrementId() {
		return this.incrementId;
	}

	public void setIncrementId(String incrementId) {
		this.incrementId = incrementId;
	}

	@Column(name = "parent_id", nullable = false)
	public int getParentId() {
		return this.parentId;
	}

	public void setParentId(int parentId) {
		this.parentId = parentId;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "created_at", nullable = false, length = 19)
	public Date getCreatedAt() {
		return this.createdAt;
	}

	public void setCreatedAt(Date createdAt) {
		this.createdAt = createdAt;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "updated_at", nullable = false, length = 19)
	public Date getUpdatedAt() {
		return this.updatedAt;
	}

	public void setUpdatedAt(Date updatedAt) {
		this.updatedAt = updatedAt;
	}

	@Column(name = "is_active", nullable = false)
	public short getIsActive() {
		return this.isActive;
	}

	public void setIsActive(short isActive) {
		this.isActive = isActive;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavEntity")
	public Set getEavEntityDatetimes() {
		return this.eavEntityDatetimes;
	}

	public void setEavEntityDatetimes(Set eavEntityDatetimes) {
		this.eavEntityDatetimes = eavEntityDatetimes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavEntity")
	public Set getEavEntityInts() {
		return this.eavEntityInts;
	}

	public void setEavEntityInts(Set eavEntityInts) {
		this.eavEntityInts = eavEntityInts;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavEntity")
	public Set getEavEntityVarchars() {
		return this.eavEntityVarchars;
	}

	public void setEavEntityVarchars(Set eavEntityVarchars) {
		this.eavEntityVarchars = eavEntityVarchars;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavEntity")
	public Set getEavEntityTexts() {
		return this.eavEntityTexts;
	}

	public void setEavEntityTexts(Set eavEntityTexts) {
		this.eavEntityTexts = eavEntityTexts;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavEntity")
	public Set getEavEntityDecimals() {
		return this.eavEntityDecimals;
	}

	public void setEavEntityDecimals(Set eavEntityDecimals) {
		this.eavEntityDecimals = eavEntityDecimals;
	}

}
